{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第二章习题\n",
    "\n",
    "### 一、填空题\n",
    "\n",
    "1.列表的`sort()`方法没有返回值,或者说返回值为____None____."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "2.已知列表 `data=[1,2,30 4]`，那么`data[2:100]`的值为___[3,4]_____."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "data=[1,2,3,4]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[3, 4]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data[2:100]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "3.己知`x=3`和`y=5`,那么执行语句`x,y=y,x`之后，`y`的值为____5____."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5 3\n"
     ]
    }
   ],
   "source": [
    "x,y=3,5\n",
    "x,y=y,x\n",
    "print(x,y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "4．已知字典 `data= {'a;97, 'A' :65}`,那么`data.get('a', None)`97."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "data= {'a':97,'A':65}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "97"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.get('a',None)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 二、判断题\n",
    "\n",
    "1.生成器表达式的计算结果是一个元组。`(  ×  )`"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "2．包含列表的元组可以作为字典的“键”。`(  ×  )`"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "3．包含列表的元组不可以作为集合的元素。`(  ✔  )`"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "4．列表的`rindex()`方法返回指定元素在列表中最后一次出现的位置。`(✔)`"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 三、编程题\n",
    "\n",
    "1.输入一个字符串，输出其中每个字符的出现次数。要求使用标准库`collotections`中的`Counter`类,请自行查阅相关用法。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "from collections import Counter"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入一个字符串：1，3，4，2，3\n"
     ]
    }
   ],
   "source": [
    "text = input('请输入一个字符串：')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "frequencies = Counter(text)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Counter({'，': 4, '3': 2, '1': 1, '4': 1, '2': 1})\n"
     ]
    }
   ],
   "source": [
    "print(frequencies)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "2．输入一个字符串,输出其中只出现了一次的字符及其下标。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入一个字符串：1，3，2，1，6\n"
     ]
    }
   ],
   "source": [
    "a = input('请输入一个字符串：')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "positions = [(ch,index) for index,ch in enumerate(text) if text.index(ch)==text.rindex(ch)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[('1', 0), ('4', 4), ('2', 6)]\n"
     ]
    }
   ],
   "source": [
    "print(positions)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "3．输入一个字符串,输出其中每个唯一字符最后一次出现的下标。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "4．输入包含若干集合的列表，输出这些集合的并集。提示:使用`reduce()`函数和`operator`模块中的运算实现多个集合的并集。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "from functools import reduce"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入包含若干集合的列表：[{13,24},{36,45}]\n"
     ]
    }
   ],
   "source": [
    "a =eval(input(\"请输入包含若干集合的列表：\"))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "from operator import __or__"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{24, 45, 36, 13}\n"
     ]
    }
   ],
   "source": [
    "print(reduce(__or__,a))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "5．输入一个字符串,检查该字符串是否为回文（正着读和反看读都一样的字符串)，如果是就输出`Yes`，否则输出`No`。要求使用切片实现"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入一个字符串1，3，4，6，8\n"
     ]
    }
   ],
   "source": [
    "str1 = input('请输入一个字符串')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "str2 = str1[::-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "No\n"
     ]
    }
   ],
   "source": [
    "if str1 == str2:\n",
    "    print('Yes')\n",
    "else:\n",
    "    print('No')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 课本上65页课后习题"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "答案：可迭代对象"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "[3] in [1,2,3,4]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "答案：None"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "答案：remove"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "aList = [3,4,5,6,7,9,11,13,15,17]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[6, 7, 9, 11]"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "aList[3:7]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "答案：大括号{}，“键”，“值”，“键”"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "答案：items(),  keys(),   values()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "a = ['name','age','sex']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "b = ['Dong','38','Male']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "dict = {i:y for i in a for y in b}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'name': 'Male', 'age': 'Male', 'sex': 'Male'}\n"
     ]
    }
   ],
   "source": [
    "print(dict)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [],
   "source": [
    "matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "[[row[i] for row in matrix ] for i in range(4)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "[5 for i in range(10)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "答案： 不可以"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "from collections import Counter"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = [\"www.com\",\"www.cn\",\"@www\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [],
   "source": [
    "for d in data:\n",
    "    res = Counter(d)\n",
    "    max_len = 0\n",
    "    for key in res:\n",
    "        if max_len < res[key]:\n",
    "            max_len = res[key]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [],
   "source": [
    "n = len(d)\n",
    "if max_len > n/2:\n",
    "    data.remove(d)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['www.com', 'www.cn']\n"
     ]
    }
   ],
   "source": [
    "print(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "答案：当列表从中间或从头增加或删除时，列表对象自动进行内存扩展或收缩，从而保证元素之间没有缝隙，\n",
    "但这涉及到列表元素的大量移动，效率较低。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "import random"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [],
   "source": [
    "y = [random.randint(0,100)for i in range(1000)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "15 i 6\n",
      "59 i 16\n",
      "85 i 13\n",
      "99 i 13\n",
      "100 i 10\n",
      "1 i 7\n",
      "18 i 13\n",
      "6 i 10\n",
      "49 i 16\n",
      "14 i 17\n",
      "70 i 14\n",
      "70 i 14\n",
      "31 i 11\n",
      "74 i 15\n",
      "84 i 12\n",
      "36 i 10\n",
      "20 i 14\n",
      "4 i 11\n",
      "45 i 12\n",
      "29 i 7\n",
      "28 i 14\n",
      "13 i 12\n",
      "60 i 7\n",
      "2 i 8\n",
      "29 i 7\n",
      "31 i 11\n",
      "45 i 12\n",
      "52 i 7\n",
      "78 i 10\n",
      "89 i 8\n",
      "99 i 13\n",
      "3 i 12\n",
      "95 i 14\n",
      "100 i 10\n",
      "20 i 14\n",
      "56 i 11\n",
      "49 i 16\n",
      "23 i 11\n",
      "18 i 13\n",
      "92 i 12\n",
      "64 i 8\n",
      "80 i 7\n",
      "23 i 11\n",
      "43 i 8\n",
      "66 i 12\n",
      "20 i 14\n",
      "23 i 11\n",
      "44 i 12\n",
      "83 i 16\n",
      "66 i 12\n",
      "81 i 12\n",
      "98 i 7\n",
      "2 i 8\n",
      "33 i 9\n",
      "14 i 17\n",
      "51 i 16\n",
      "70 i 14\n",
      "71 i 12\n",
      "33 i 9\n",
      "93 i 7\n",
      "43 i 8\n",
      "58 i 9\n",
      "13 i 12\n",
      "60 i 7\n",
      "80 i 7\n",
      "49 i 16\n",
      "36 i 10\n",
      "84 i 12\n",
      "74 i 15\n",
      "50 i 2\n",
      "87 i 9\n",
      "16 i 13\n",
      "78 i 10\n",
      "66 i 12\n",
      "57 i 15\n",
      "29 i 7\n",
      "70 i 14\n",
      "34 i 9\n",
      "41 i 8\n",
      "8 i 8\n",
      "5 i 9\n",
      "1 i 7\n",
      "73 i 3\n",
      "98 i 7\n",
      "72 i 8\n",
      "59 i 16\n",
      "24 i 7\n",
      "0 i 5\n",
      "18 i 13\n",
      "9 i 7\n",
      "25 i 14\n",
      "11 i 9\n",
      "7 i 10\n",
      "78 i 10\n",
      "57 i 15\n",
      "88 i 16\n",
      "52 i 7\n",
      "44 i 12\n",
      "89 i 8\n",
      "99 i 13\n",
      "69 i 10\n",
      "96 i 9\n",
      "66 i 12\n",
      "69 i 10\n",
      "81 i 12\n",
      "3 i 12\n",
      "51 i 16\n",
      "61 i 11\n",
      "94 i 8\n",
      "62 i 8\n",
      "68 i 10\n",
      "83 i 16\n",
      "91 i 8\n",
      "28 i 14\n",
      "10 i 19\n",
      "9 i 7\n",
      "21 i 10\n",
      "46 i 4\n",
      "100 i 10\n",
      "10 i 19\n",
      "27 i 5\n",
      "53 i 12\n",
      "61 i 11\n",
      "95 i 14\n",
      "55 i 8\n",
      "3 i 12\n",
      "100 i 10\n",
      "33 i 9\n",
      "58 i 9\n",
      "13 i 12\n",
      "4 i 11\n",
      "66 i 12\n",
      "59 i 16\n",
      "17 i 12\n",
      "66 i 12\n",
      "13 i 12\n",
      "100 i 10\n",
      "88 i 16\n",
      "97 i 5\n",
      "36 i 10\n",
      "54 i 13\n",
      "94 i 8\n",
      "68 i 10\n",
      "43 i 8\n",
      "21 i 10\n",
      "37 i 8\n",
      "20 i 14\n",
      "91 i 8\n",
      "90 i 8\n",
      "74 i 15\n",
      "20 i 14\n",
      "92 i 12\n",
      "59 i 16\n",
      "56 i 11\n",
      "78 i 10\n",
      "63 i 8\n",
      "83 i 16\n",
      "92 i 12\n",
      "85 i 13\n",
      "51 i 16\n",
      "80 i 7\n",
      "10 i 19\n",
      "14 i 17\n",
      "82 i 9\n",
      "63 i 8\n",
      "74 i 15\n",
      "77 i 7\n",
      "25 i 14\n",
      "86 i 6\n",
      "50 i 2\n",
      "53 i 12\n",
      "58 i 9\n",
      "30 i 11\n",
      "57 i 15\n",
      "22 i 7\n",
      "18 i 13\n",
      "84 i 12\n",
      "0 i 5\n",
      "85 i 13\n",
      "35 i 10\n",
      "62 i 8\n",
      "49 i 16\n",
      "84 i 12\n",
      "8 i 8\n",
      "4 i 11\n",
      "69 i 10\n",
      "96 i 9\n",
      "67 i 13\n",
      "86 i 6\n",
      "79 i 12\n",
      "57 i 15\n",
      "82 i 9\n",
      "45 i 12\n",
      "10 i 19\n",
      "42 i 6\n",
      "2 i 8\n",
      "88 i 16\n",
      "94 i 8\n",
      "68 i 10\n",
      "10 i 19\n",
      "47 i 9\n",
      "58 i 9\n",
      "82 i 9\n",
      "16 i 13\n",
      "92 i 12\n",
      "12 i 8\n",
      "13 i 12\n",
      "3 i 12\n",
      "35 i 10\n",
      "31 i 11\n",
      "14 i 17\n",
      "53 i 12\n",
      "41 i 8\n",
      "43 i 8\n",
      "24 i 7\n",
      "47 i 9\n",
      "79 i 12\n",
      "19 i 7\n",
      "76 i 10\n",
      "80 i 7\n",
      "17 i 12\n",
      "59 i 16\n",
      "44 i 12\n",
      "22 i 7\n",
      "54 i 13\n",
      "58 i 9\n",
      "61 i 11\n",
      "41 i 8\n",
      "75 i 8\n",
      "94 i 8\n",
      "74 i 15\n",
      "20 i 14\n",
      "70 i 14\n",
      "43 i 8\n",
      "56 i 11\n",
      "21 i 10\n",
      "18 i 13\n",
      "76 i 10\n",
      "99 i 13\n",
      "89 i 8\n",
      "61 i 11\n",
      "6 i 10\n",
      "60 i 7\n",
      "67 i 13\n",
      "72 i 8\n",
      "11 i 9\n",
      "44 i 12\n",
      "32 i 12\n",
      "23 i 11\n",
      "71 i 12\n",
      "54 i 13\n",
      "4 i 11\n",
      "95 i 14\n",
      "35 i 10\n",
      "74 i 15\n",
      "28 i 14\n",
      "85 i 13\n",
      "88 i 16\n",
      "62 i 8\n",
      "20 i 14\n",
      "48 i 9\n",
      "18 i 13\n",
      "24 i 7\n",
      "20 i 14\n",
      "27 i 5\n",
      "30 i 11\n",
      "85 i 13\n",
      "5 i 9\n",
      "10 i 19\n",
      "79 i 12\n",
      "20 i 14\n",
      "68 i 10\n",
      "33 i 9\n",
      "44 i 12\n",
      "21 i 10\n",
      "4 i 11\n",
      "37 i 8\n",
      "64 i 8\n",
      "25 i 14\n",
      "98 i 7\n",
      "53 i 12\n",
      "14 i 17\n",
      "17 i 12\n",
      "81 i 12\n",
      "14 i 17\n",
      "88 i 16\n",
      "13 i 12\n",
      "32 i 12\n",
      "78 i 10\n",
      "53 i 12\n",
      "74 i 15\n",
      "40 i 9\n",
      "81 i 12\n",
      "45 i 12\n",
      "95 i 14\n",
      "34 i 9\n",
      "44 i 12\n",
      "35 i 10\n",
      "39 i 10\n",
      "56 i 11\n",
      "42 i 6\n",
      "25 i 14\n",
      "13 i 12\n",
      "94 i 8\n",
      "85 i 13\n",
      "41 i 8\n",
      "11 i 9\n",
      "51 i 16\n",
      "5 i 9\n",
      "87 i 9\n",
      "53 i 12\n",
      "32 i 12\n",
      "51 i 16\n",
      "10 i 19\n",
      "75 i 8\n",
      "31 i 11\n",
      "44 i 12\n",
      "90 i 8\n",
      "49 i 16\n",
      "75 i 8\n",
      "7 i 10\n",
      "100 i 10\n",
      "57 i 15\n",
      "28 i 14\n",
      "89 i 8\n",
      "56 i 11\n",
      "46 i 4\n",
      "36 i 10\n",
      "85 i 13\n",
      "64 i 8\n",
      "83 i 16\n",
      "41 i 8\n",
      "82 i 9\n",
      "72 i 8\n",
      "60 i 7\n",
      "45 i 12\n",
      "69 i 10\n",
      "54 i 13\n",
      "82 i 9\n",
      "52 i 7\n",
      "33 i 9\n",
      "67 i 13\n",
      "81 i 12\n",
      "77 i 7\n",
      "99 i 13\n",
      "15 i 6\n",
      "5 i 9\n",
      "25 i 14\n",
      "30 i 11\n",
      "72 i 8\n",
      "35 i 10\n",
      "53 i 12\n",
      "17 i 12\n",
      "64 i 8\n",
      "38 i 8\n",
      "74 i 15\n",
      "34 i 9\n",
      "25 i 14\n",
      "62 i 8\n",
      "51 i 16\n",
      "18 i 13\n",
      "54 i 13\n",
      "57 i 15\n",
      "78 i 10\n",
      "52 i 7\n",
      "49 i 16\n",
      "94 i 8\n",
      "75 i 8\n",
      "84 i 12\n",
      "63 i 8\n",
      "78 i 10\n",
      "37 i 8\n",
      "56 i 11\n",
      "32 i 12\n",
      "42 i 6\n",
      "39 i 10\n",
      "3 i 12\n",
      "37 i 8\n",
      "66 i 12\n",
      "47 i 9\n",
      "87 i 9\n",
      "44 i 12\n",
      "85 i 13\n",
      "3 i 12\n",
      "84 i 12\n",
      "49 i 16\n",
      "57 i 15\n",
      "5 i 9\n",
      "12 i 8\n",
      "85 i 13\n",
      "27 i 5\n",
      "51 i 16\n",
      "11 i 9\n",
      "16 i 13\n",
      "67 i 13\n",
      "21 i 10\n",
      "11 i 9\n",
      "10 i 19\n",
      "79 i 12\n",
      "76 i 10\n",
      "90 i 8\n",
      "68 i 10\n",
      "93 i 7\n",
      "34 i 9\n",
      "98 i 7\n",
      "82 i 9\n",
      "79 i 12\n",
      "24 i 7\n",
      "16 i 13\n",
      "11 i 9\n",
      "48 i 9\n",
      "18 i 13\n",
      "56 i 11\n",
      "28 i 14\n",
      "61 i 11\n",
      "95 i 14\n",
      "19 i 7\n",
      "40 i 9\n",
      "17 i 12\n",
      "67 i 13\n",
      "100 i 10\n",
      "84 i 12\n",
      "57 i 15\n",
      "100 i 10\n",
      "4 i 11\n",
      "75 i 8\n",
      "48 i 9\n",
      "78 i 10\n",
      "96 i 9\n",
      "28 i 14\n",
      "47 i 9\n",
      "94 i 8\n",
      "70 i 14\n",
      "3 i 12\n",
      "31 i 11\n",
      "38 i 8\n",
      "44 i 12\n",
      "29 i 7\n",
      "10 i 19\n",
      "62 i 8\n",
      "34 i 9\n",
      "69 i 10\n",
      "30 i 11\n",
      "30 i 11\n",
      "86 i 6\n",
      "28 i 14\n",
      "55 i 8\n",
      "25 i 14\n",
      "66 i 12\n",
      "33 i 9\n",
      "8 i 8\n",
      "13 i 12\n",
      "16 i 13\n",
      "37 i 8\n",
      "76 i 10\n",
      "91 i 8\n",
      "38 i 8\n",
      "16 i 13\n",
      "82 i 9\n",
      "63 i 8\n",
      "32 i 12\n",
      "27 i 5\n",
      "68 i 10\n",
      "41 i 8\n",
      "88 i 16\n",
      "92 i 12\n",
      "10 i 19\n",
      "91 i 8\n",
      "72 i 8\n",
      "83 i 16\n",
      "10 i 19\n",
      "26 i 7\n",
      "70 i 14\n",
      "10 i 19\n",
      "7 i 10\n",
      "79 i 12\n",
      "64 i 8\n",
      "31 i 11\n",
      "71 i 12\n",
      "65 i 6\n",
      "52 i 7\n",
      "51 i 16\n",
      "95 i 14\n",
      "92 i 12\n",
      "61 i 11\n",
      "41 i 8\n",
      "76 i 10\n",
      "65 i 6\n",
      "33 i 9\n",
      "70 i 14\n",
      "59 i 16\n",
      "88 i 16\n",
      "90 i 8\n",
      "34 i 9\n",
      "71 i 12\n",
      "14 i 17\n",
      "92 i 12\n",
      "7 i 10\n",
      "5 i 9\n",
      "69 i 10\n",
      "58 i 9\n",
      "2 i 8\n",
      "68 i 10\n",
      "29 i 7\n",
      "72 i 8\n",
      "32 i 12\n",
      "45 i 12\n",
      "49 i 16\n",
      "79 i 12\n",
      "11 i 9\n",
      "69 i 10\n",
      "6 i 10\n",
      "92 i 12\n",
      "25 i 14\n",
      "35 i 10\n",
      "13 i 12\n",
      "59 i 16\n",
      "79 i 12\n",
      "89 i 8\n",
      "14 i 17\n",
      "78 i 10\n",
      "54 i 13\n",
      "26 i 7\n",
      "5 i 9\n",
      "8 i 8\n",
      "10 i 19\n",
      "39 i 10\n",
      "67 i 13\n",
      "86 i 6\n",
      "74 i 15\n",
      "83 i 16\n",
      "30 i 11\n",
      "37 i 8\n",
      "45 i 12\n",
      "48 i 9\n",
      "36 i 10\n",
      "2 i 8\n",
      "15 i 6\n",
      "65 i 6\n",
      "29 i 7\n",
      "2 i 8\n",
      "40 i 9\n",
      "36 i 10\n",
      "99 i 13\n",
      "8 i 8\n",
      "43 i 8\n",
      "96 i 9\n",
      "84 i 12\n",
      "16 i 13\n",
      "45 i 12\n",
      "87 i 9\n",
      "63 i 8\n",
      "14 i 17\n",
      "6 i 10\n",
      "22 i 7\n",
      "17 i 12\n",
      "57 i 15\n",
      "39 i 10\n",
      "12 i 8\n",
      "3 i 12\n",
      "32 i 12\n",
      "38 i 8\n",
      "23 i 11\n",
      "25 i 14\n",
      "21 i 10\n",
      "57 i 15\n",
      "83 i 16\n",
      "87 i 9\n",
      "71 i 12\n",
      "89 i 8\n",
      "36 i 10\n",
      "4 i 11\n",
      "18 i 13\n",
      "17 i 12\n",
      "42 i 6\n",
      "85 i 13\n",
      "14 i 17\n",
      "81 i 12\n",
      "54 i 13\n",
      "96 i 9\n",
      "88 i 16\n",
      "14 i 17\n",
      "67 i 13\n",
      "44 i 12\n",
      "92 i 12\n",
      "85 i 13\n",
      "18 i 13\n",
      "33 i 9\n",
      "26 i 7\n",
      "8 i 8\n",
      "60 i 7\n",
      "56 i 11\n",
      "3 i 12\n",
      "32 i 12\n",
      "45 i 12\n",
      "71 i 12\n",
      "77 i 7\n",
      "91 i 8\n",
      "12 i 8\n",
      "39 i 10\n",
      "56 i 11\n",
      "79 i 12\n",
      "57 i 15\n",
      "51 i 16\n",
      "83 i 16\n",
      "31 i 11\n",
      "97 i 5\n",
      "21 i 10\n",
      "85 i 13\n",
      "32 i 12\n",
      "26 i 7\n",
      "95 i 14\n",
      "55 i 8\n",
      "74 i 15\n",
      "51 i 16\n",
      "77 i 7\n",
      "76 i 10\n",
      "64 i 8\n",
      "24 i 7\n",
      "29 i 7\n",
      "22 i 7\n",
      "23 i 11\n",
      "97 i 5\n",
      "59 i 16\n",
      "74 i 15\n",
      "70 i 14\n",
      "19 i 7\n",
      "28 i 14\n",
      "39 i 10\n",
      "88 i 16\n",
      "71 i 12\n",
      "47 i 9\n",
      "49 i 16\n",
      "34 i 9\n",
      "11 i 9\n",
      "14 i 17\n",
      "70 i 14\n",
      "92 i 12\n",
      "81 i 12\n",
      "12 i 8\n",
      "64 i 8\n",
      "73 i 3\n",
      "35 i 10\n",
      "13 i 12\n",
      "47 i 9\n",
      "63 i 8\n",
      "61 i 11\n",
      "59 i 16\n",
      "90 i 8\n",
      "17 i 12\n",
      "5 i 9\n",
      "90 i 8\n",
      "57 i 15\n",
      "4 i 11\n",
      "20 i 14\n",
      "79 i 12\n",
      "95 i 14\n",
      "55 i 8\n",
      "36 i 10\n",
      "12 i 8\n",
      "88 i 16\n",
      "6 i 10\n",
      "67 i 13\n",
      "38 i 8\n",
      "88 i 16\n",
      "25 i 14\n",
      "96 i 9\n",
      "35 i 10\n",
      "68 i 10\n",
      "10 i 19\n",
      "19 i 7\n",
      "49 i 16\n",
      "69 i 10\n",
      "48 i 9\n",
      "23 i 11\n",
      "59 i 16\n",
      "49 i 16\n",
      "51 i 16\n",
      "76 i 10\n",
      "70 i 14\n",
      "98 i 7\n",
      "40 i 9\n",
      "16 i 13\n",
      "1 i 7\n",
      "86 i 6\n",
      "45 i 12\n",
      "30 i 11\n",
      "23 i 11\n",
      "9 i 7\n",
      "65 i 6\n",
      "14 i 17\n",
      "22 i 7\n",
      "60 i 7\n",
      "71 i 12\n",
      "1 i 7\n",
      "92 i 12\n",
      "83 i 16\n",
      "49 i 16\n",
      "67 i 13\n",
      "2 i 8\n",
      "9 i 7\n",
      "16 i 13\n",
      "3 i 12\n",
      "4 i 11\n",
      "20 i 14\n",
      "53 i 12\n",
      "83 i 16\n",
      "19 i 7\n",
      "54 i 13\n",
      "26 i 7\n",
      "64 i 8\n",
      "69 i 10\n",
      "59 i 16\n",
      "35 i 10\n",
      "15 i 6\n",
      "77 i 7\n",
      "49 i 16\n",
      "39 i 10\n",
      "91 i 8\n",
      "68 i 10\n",
      "52 i 7\n",
      "59 i 16\n",
      "25 i 14\n",
      "88 i 16\n",
      "10 i 19\n",
      "1 i 7\n",
      "83 i 16\n",
      "100 i 10\n",
      "66 i 12\n",
      "41 i 8\n",
      "15 i 6\n",
      "8 i 8\n",
      "45 i 12\n",
      "44 i 12\n",
      "96 i 9\n",
      "17 i 12\n",
      "6 i 10\n",
      "39 i 10\n",
      "49 i 16\n",
      "16 i 13\n",
      "47 i 9\n",
      "6 i 10\n",
      "18 i 13\n",
      "30 i 11\n",
      "11 i 9\n",
      "93 i 7\n",
      "34 i 9\n",
      "26 i 7\n",
      "40 i 9\n",
      "30 i 11\n",
      "61 i 11\n",
      "99 i 13\n",
      "18 i 13\n",
      "60 i 7\n",
      "53 i 12\n",
      "68 i 10\n",
      "86 i 6\n",
      "47 i 9\n",
      "87 i 9\n",
      "38 i 8\n",
      "85 i 13\n",
      "57 i 15\n",
      "74 i 15\n",
      "74 i 15\n",
      "95 i 14\n",
      "3 i 12\n",
      "81 i 12\n",
      "43 i 8\n",
      "14 i 17\n",
      "0 i 5\n",
      "69 i 10\n",
      "71 i 12\n",
      "14 i 17\n",
      "62 i 8\n",
      "76 i 10\n",
      "72 i 8\n",
      "66 i 12\n",
      "43 i 8\n",
      "95 i 14\n",
      "95 i 14\n",
      "16 i 13\n",
      "24 i 7\n",
      "10 i 19\n",
      "61 i 11\n",
      "67 i 13\n",
      "49 i 16\n",
      "93 i 7\n",
      "84 i 12\n",
      "37 i 8\n",
      "46 i 4\n",
      "7 i 10\n",
      "55 i 8\n",
      "62 i 8\n",
      "3 i 12\n",
      "57 i 15\n",
      "23 i 11\n",
      "13 i 12\n",
      "24 i 7\n",
      "18 i 13\n",
      "79 i 12\n",
      "9 i 7\n",
      "34 i 9\n",
      "51 i 16\n",
      "95 i 14\n",
      "73 i 3\n",
      "61 i 11\n",
      "48 i 9\n",
      "0 i 5\n",
      "54 i 13\n",
      "91 i 8\n",
      "19 i 7\n",
      "53 i 12\n",
      "87 i 9\n",
      "93 i 7\n",
      "25 i 14\n",
      "63 i 8\n",
      "89 i 8\n",
      "59 i 16\n",
      "7 i 10\n",
      "54 i 13\n",
      "63 i 8\n",
      "90 i 8\n",
      "66 i 12\n",
      "76 i 10\n",
      "81 i 12\n",
      "20 i 14\n",
      "6 i 10\n",
      "83 i 16\n",
      "9 i 7\n",
      "75 i 8\n",
      "44 i 12\n",
      "12 i 8\n",
      "54 i 13\n",
      "97 i 5\n",
      "22 i 7\n",
      "67 i 13\n",
      "40 i 9\n",
      "20 i 14\n",
      "25 i 14\n",
      "88 i 16\n",
      "14 i 17\n",
      "38 i 8\n",
      "12 i 8\n",
      "71 i 12\n",
      "96 i 9\n",
      "93 i 7\n",
      "33 i 9\n",
      "28 i 14\n",
      "56 i 11\n",
      "80 i 7\n",
      "10 i 19\n",
      "87 i 9\n",
      "30 i 11\n",
      "80 i 7\n",
      "10 i 19\n",
      "80 i 7\n",
      "32 i 12\n",
      "23 i 11\n",
      "17 i 12\n",
      "76 i 10\n",
      "77 i 7\n",
      "99 i 13\n",
      "40 i 9\n",
      "99 i 13\n",
      "99 i 13\n",
      "8 i 8\n",
      "82 i 9\n",
      "93 i 7\n",
      "79 i 12\n",
      "35 i 10\n",
      "55 i 8\n",
      "90 i 8\n",
      "72 i 8\n",
      "71 i 12\n",
      "45 i 12\n",
      "71 i 12\n",
      "48 i 9\n",
      "53 i 12\n",
      "66 i 12\n",
      "28 i 14\n",
      "15 i 6\n",
      "40 i 9\n",
      "94 i 8\n",
      "82 i 9\n",
      "14 i 17\n",
      "13 i 12\n",
      "7 i 10\n",
      "53 i 12\n",
      "61 i 11\n",
      "81 i 12\n",
      "99 i 13\n",
      "83 i 16\n",
      "21 i 10\n",
      "59 i 16\n",
      "10 i 19\n",
      "95 i 14\n",
      "84 i 12\n",
      "74 i 15\n",
      "28 i 14\n",
      "58 i 9\n",
      "20 i 14\n",
      "67 i 13\n",
      "58 i 9\n",
      "42 i 6\n",
      "7 i 10\n",
      "48 i 9\n",
      "47 i 9\n",
      "21 i 10\n",
      "84 i 12\n",
      "62 i 8\n",
      "37 i 8\n",
      "55 i 8\n",
      "83 i 16\n",
      "40 i 9\n",
      "31 i 11\n",
      "56 i 11\n",
      "51 i 16\n",
      "17 i 12\n",
      "89 i 8\n",
      "98 i 7\n",
      "31 i 11\n",
      "78 i 10\n",
      "25 i 14\n",
      "48 i 9\n",
      "42 i 6\n",
      "87 i 9\n",
      "28 i 14\n",
      "7 i 10\n",
      "57 i 15\n",
      "100 i 10\n",
      "6 i 10\n",
      "97 i 5\n",
      "26 i 7\n",
      "65 i 6\n",
      "67 i 13\n",
      "54 i 13\n",
      "83 i 16\n",
      "65 i 6\n",
      "28 i 14\n",
      "7 i 10\n",
      "39 i 10\n",
      "31 i 11\n",
      "9 i 7\n",
      "81 i 12\n",
      "99 i 13\n",
      "16 i 13\n",
      "55 i 8\n",
      "38 i 8\n",
      "88 i 16\n",
      "96 i 9\n",
      "1 i 7\n",
      "46 i 4\n",
      "51 i 16\n",
      "4 i 11\n",
      "88 i 16\n",
      "74 i 15\n",
      "70 i 14\n",
      "51 i 16\n",
      "99 i 13\n",
      "58 i 9\n",
      "88 i 16\n",
      "49 i 16\n",
      "32 i 12\n",
      "84 i 12\n",
      "5 i 9\n",
      "39 i 10\n",
      "32 i 12\n",
      "19 i 7\n",
      "21 i 10\n",
      "77 i 7\n",
      "0 i 5\n",
      "36 i 10\n",
      "59 i 16\n",
      "54 i 13\n",
      "91 i 8\n",
      "70 i 14\n",
      "1 i 7\n",
      "98 i 7\n",
      "81 i 12\n",
      "83 i 16\n",
      "30 i 11\n",
      "2 i 8\n",
      "22 i 7\n",
      "70 i 14\n",
      "23 i 11\n",
      "27 i 5\n",
      "51 i 16\n",
      "75 i 8\n",
      "75 i 8\n",
      "52 i 7\n",
      "16 i 13\n",
      "28 i 14\n",
      "17 i 12\n",
      "36 i 10\n",
      "4 i 11\n",
      "92 i 12\n",
      "95 i 14\n",
      "59 i 16\n",
      "31 i 11\n",
      "6 i 10\n"
     ]
    }
   ],
   "source": [
    "for i in y:\n",
    "    print(i,'i',y.count(i))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [],
   "source": [
    "d = {1:'a',2:'b',3:'c'}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Plese input a key:{1:'a',2:'b',3:'c'}\n"
     ]
    }
   ],
   "source": [
    "v = input('Plese input a key:')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "您输入的键不存在\n"
     ]
    }
   ],
   "source": [
    "print(d.get(v,'您输入的键不存在'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [],
   "source": [
    "import random"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = [random.randint(1,100) for i in range(20)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [],
   "source": [
    "a = sorted(x[:10])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [],
   "source": [
    "b = sorted(x[10:],reverse=True)\n",
    "x = a+b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[3, 21, 60, 63, 63, 67, 83, 86, 89, 97, 80, 75, 73, 67, 38, 37, 17, 15, 14, 9]\n"
     ]
    }
   ],
   "source": [
    "print(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": false,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "165px"
   },
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
